Jackal, A Compiler Based Implementation of Java for Clusters of Workstations
نویسنده
چکیده
This paper describes the design of Jackal, a compiler-driven distributed shared memory implementation of the Java programming language. Our goal is to efficiently execute (unmodified) multithreaded Java programs on a cluster of workstations. Jackal consists of a native Java compiler and a runtime system that implements a distributed shared memory protocol for variable sized memory regions. The Jackal compiler stores Java objects in shared regions and augments the programs it compiles with access checks. These access checks drive the memory consistency protocol. The Jackal compiler implements several optimizations to reduce the overhead of these software access checks. The main contributions of this paper are: techniques to allow a (Java) compiler to target a fine-grained allsoftware DSM using access-checks and compiler optimizations to achieve good efficiency.
منابع مشابه
Distributed Shared Memory Management for Java
Jackal is a fine-grained distributed shared memory system that can run multithreaded Java programs on distributedmemory systems. The Jackal compiler generates an access check for every use of an object field or array element. The overhead of the access checks is reduced using compiler optimizations. The runtime system uses a homebased consistency protocol that manages (and caches) objects and a...
متن کاملJaMP: an implementation of OpenMP for a Java DSM
In this paper we present JaMP, an adaptation of the OpenMP standard. JaMP is fitted to Jackal, a software-based DSM implementation for Java. While the set of supported directives is directly adopted from the OpenMP standard, we also satisfy all requirements that are enforced by the Java Language Specification and the Java Memory Model. JaMP implements a (large) subset of the OpenMP specificatio...
متن کاملImplementation and Optimization of the Lattice Boltzmann Method for the Jackal DSM System
The goal of this thesis is to implement and optimize the lattice–Boltzmann method for the distributed shared memory system Jackal. The lattice Boltzmann method is a new and promising alternative to the traditional Navier–Stokes solvers in the domain of computational fluid dynamics. It is based on cellular automata and operates on a domain, were all cells are normalized in space. Because of the ...
متن کاملDOGMA: Distributed Object Group Management Architecture y
The performance of Java just-in-time compilers currently approaches native C++, making Java a serious contender for supercomputing application development. This paper presents DOGMA{a new Java based system which enables parallel computing on heterogeneous computers. DOGMA supports parallel programming in both a traditional message passing form and a novel object-oriented approach. DOGMA provide...
متن کاملJavaParty - Transparent Remote Objects in Java
Java’s threads offer appropriate means either for parallel programming of SMPs or as target constructs when compiling add-on features (e.g. forall constructs, automatic parallelization, etc.) Unfortunately, Java does not provide elegant and straightforward mechanisms for parallel programming on distributed memory machines, like clusters of workstations. JavaParty transparently adds remote objec...
متن کامل